#include<iostream>
using namespace std;
const int N =10e5+10;
int n =0,m=0;
int h[N];
int sz=0;
void down(int u)
{
    int t=u;
    if(u*2<=sz&&h[u*2]<h[t])t=u*2;
    if(u*2+1<=sz&&h[u*2+1]<h[t])t=u*2+1;
    if(t!=u)
    {
        swap(h[t],h[u]);
        down(t);
    }
}
int main()
{
    cin>>n>>m;
    for(int i=1;i<=n;i++)cin>>h[i];
    sz=n;
    for(int i=n/2/*从倒数第二排开始*/;i;i--)down(i);
    while(m--)
    {
        cout<<h[1];
        h[1]=h[sz];
        sz--;
        down(1);
    }
}